package com.ego.admin.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ego.admin.po.SysOperationLog;
import com.ego.admin.vo.SysOperationSearchVo;
import com.ego.common.vo.PageVo;
import org.omg.CORBA.SystemException;
import org.springframework.scheduling.annotation.Async;

/**
 * @program: ego
 * @description: 系统操作日志服务接口
 * @author: KamTang
 * @create: 2023-05-02 09:33
 **/
public interface SysOperationLogService extends IService<SysOperationLog> {

    /**
     * 日志搜索
     * @param vo @see
     * @return 日志
     * @see SysOperationSearchVo
     */
    PageVo<SysOperationLog> search(SysOperationSearchVo vo);


    /**
     * 异步保存操作日志
     * @param log 日志
     */
    @Async("CodeAsyncThreadPool")
    void saveLog(SysOperationLog log);

    /**
     * 批量删除登入日志
     * @param ids 日志id
     * @throws SystemException 系统异常
     */
    void deleteBatch(Long[] ids) throws SystemException;
}
